iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
生成式 AI

AI 藥師助手:打造人人都看得懂的藥品查詢系統系列 第 6

Day 6:Prompt Engineering:讓 AI 更聽話

  • 分享至 

  • xImage
  •  

前言

昨天我已經讓 AI 成功回答「普拿疼是什麼」,今天要進一步挑戰 Prompt Engineering(提示工程),也就是如何設計提示詞,讓 AI 的回答更符合需求。

Prompt Engineering 是什麼?

AI 的回答其實取決於我們怎麼問問題。就像同一個人,可能會依照問題的問法給出不同答案。

在 OpenAI 的 Chat API 裡,主要有三種訊息角色:

  • system:設定 AI 的角色與行為(例如:你是一個藥師助理)。

  • user:使用者的問題。

  • assistant:AI 的回覆(由模型自動產生)。

Prompt Engineering 就是如何設計 system + user 的提示,來引導 AI 輸出想要的回答。

程式碼實驗

以下是我設計的實驗程式:

from openai import OpenAI

client = OpenAI(api_key="API_KEY")

prompts = [
    {"role": "system", "content": "你是一位專業的藥師,請用嚴謹的醫學口吻回答問題。"},
    {"role": "system", "content": "你是一位醫學教授,請用詳細且學術的方式解釋。"},
    {"role": "system", "content": "你是一位藥學系大學生,請用簡單易懂的方式分享知識。"},
    {"role": "system", "content": "你是一位小朋友的健康老師,請用故事和比喻來解釋。"}
]

question = {"role": "user", "content": "普拿疼是什麼?"}

for p in prompts:
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[p, question]
    )
    print("🔹 Prompt:", p["content"])
    print("回覆:", response.choices[0].message.content)
    print("="*50)

執行結果比較

  • 藥師版本:
    普拿疼(Panadol)是一種含有對乙醯氨基酚(Acetaminophen)的止痛與退燒藥,常用於頭痛、牙痛、肌肉痠痛、發燒等症狀。需注意劑量,以避免肝毒性。

  • 醫學教授版本:
    普拿疼的主要成分為 Acetaminophen(對乙醯氨基酚),其藥理作用主要是抑制中樞神經系統的前列腺素合成,進而達到止痛與退燒效果。與 NSAIDs 不同,其抗發炎效果較弱。

  • 藥學學生版本:
    普拿疼就是大家常吃的止痛藥,主要成分是 Acetaminophen。它可以退燒跟止痛,但要注意不要一次吃太多,不然會傷肝喔!

  • 小朋友健康老師版本:
    普拿疼就像一個「退燒超人」,能幫助趕走頭痛怪獸和發燒怪獸。但如果一次吃太多,反而會傷害身體,所以要乖乖按照藥師的指示吃。

心得

今天的實驗讓我體會到 Prompt 有多好用:

不同的 system prompt,AI 的回答風格會差很多。可以針對不同族群設計回答,像是對小孩、對專業人士、對一般民眾。這個技巧對我的專案非常重要,因為未來我希望它能同時支援「專業解釋」與「簡單解釋」,依使用者需求切換。


上一篇
Day 5:用 AI API 做第一個簡單問答
下一篇
Day 7:讓 AI 做文字總結 – 自動摘要功能實作
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言